import { createStore } from 'vuex'
// 本地存储的导入
import createPersistedState from 'vuex-persistedstate'

// 分模块的导入
import cart from './modules/cart'
import user from './modules/user'
import category from './modules/category'

// vue2.0 创建仓库  new Vuex.Store({})
// vue3.0 创建仓库  createStore({})
export default createStore({
  modules: {
    cart,
    user,
    category
  },
  // 本地存储的配置
  plugins: [
    // 默认存储在 localStorage 上
    createPersistedState({
      // 指定存储名字 (key是存储数据的键名)
      key: 'erabbit-client-pc-store',
      // 指定存储模块
      // paths是存储state中的那些数据，如果是模块下具体的数据需要加上模块名称，如user.token
      paths: ['user', 'cart']
    })
  ]
})
